/*
 * LIMES Core Library - LIMES – Link Discovery Framework for Metric Spaces.
 * Copyright © 2011 Data Science Group (DICE) (ngonga@uni-paderborn.de)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.aksw.limes.core.util;

public class ProgressBar {

    protected static String progressChar = "■";
    protected static int width = 50; // progress bar width in chars

    public static String getProgressChar() {
        return progressChar;
    }

    public static void setProgressChar(String progressChar) {
        ProgressBar.progressChar = progressChar;
    }

    /**
     * print progress bar to the standard output
     *
     * @param progressPercentage
     */
    public static void print(double progressPercentage) {


        System.out.print("\r[");
        int i = 0;
        for (; i <= (int) (progressPercentage * width); i++) {

            System.out.print(progressChar);
        }
        for (; i < width; i++) {
            System.out.print(" ");
        }
        System.out.print("]");
    }

    public int getWidth() {
        return width;
    }

    public void setWidth(int width) {
        ProgressBar.width = width;
    }

}
